# 结合React的手段将deepseek打造成智能体
from email import message
import json # 用于解析和生成JSON格式的字符串
from llm import client #用于与LLM进行交互
from prompt import REACT_PROMPT #用于获取ReAct的提示模板
from python.ReAct import prompt #用于获取React的提示信息
from tools import get_closing_price,tools #导入工具列表
import re   #用于正则表达式
# 定义发送消息的函数
def send_message(messages):
    """
    向LLM 发送消息并获取响应‘
    :param message:要发送的消息内容
    :return:LLM的响应内容
    """
    response=client.chat.completions.create(#创建交互请求
        model='deepseek-chat',
        messages=messages,
        # temperature=0.7,  温度越高回答的问题更人性化
    )
    return response

if __name__=='__main__':#主函数入口
#设置助手的角色 
 instructions="你是一个股票助手,可以回答股票相关的问题。"
 #假设用户输入的消息
 query="青岛啤酒和贵州茅台的收盘价哪一个更高?"
 # 使用模板构建完整的提示词
prompt=REACT_PROMPT.format(
    instructions=instructions,tools=tools,tool_names="get_closing_price",input=query
)
#print("prompt:",prompt)  #打印提示词以供调试

#准备消息列表
messages=[{"role":"user","content":prompt}]
#发送消息并获取LLM的响应
response=send_message(messages)
response_text=response.choices[0].message.content
# 打印LLM的响应
# print(response_text)
final_answer_match=re.search(r"Final Answer:\s*(.*)",response_text)
if final_answer_match:
   final_answer=final_answer_match.group(1)
   print("最终答案：",final_answer)
messages.append({"role":"assistant","content":response_text})